/*
* ParticleReader.h
*
*  Created on: 2009/03/04
*      Author: Yongshik Cho
*/

#ifndef PARTICLEREADER_H_
#define PARTICLEREADER_H_

#include "../ParticleObject.h"
#include <tinyxml.h>
#include "sqplus/sqplus.h"

using namespace SqPlus;


class ParticleReader
{
public:
	static const std::string _PARTICLE_TYPE_TAG;
	static const std::string _TOTAL_PARTICLE_TAG;
	static const std::string _DURATION_TAG;
	static const std::string _GRAVITY_TAG;
	static const std::string _SOURCE_TAG;
	static const std::string _ANGLE_TAG;
	static const std::string _ANGLE_VARIANCE_TAG;
	static const std::string _RADIAL_ACCEL_TAG;
	static const std::string _RADIAL_ACCEL_VARIANCE_TAG;
	static const std::string _SPEED_TAG;
	static const std::string _SPEED_VARIANCE_TAG;
	static const std::string _POSITION_VARIANCE_TAG;
	static const std::string _LIFE_TAG;
	static const std::string _LIFE_VARIANCE_TAG;
	static const std::string _EMISSION_RATE_TAG;
	static const std::string _START_COLOLR_TAG;
	static const std::string _START_COLOR_VARIANCE_TAG;
	static const std::string _END_COLOR_TAG;
	static const std::string _END_COLOR_VARIANCE_TAG;
	static const std::string _SIZE_TAG;
	static const std::string _SIZE_VARIANCE_TAG;
	static const std::string _TEXTURE_TAG;
	static const std::string _BLEND_ADDITIVE_TAG;
	static const std::string _COLOR_MODULATE_TAG;

	static const std::string _PARTICLE_CUSTOM_TAG;
	static const std::string _PARTICLE_FIREWORKS_TAG;
	static const std::string _PARTICLE_FIRE_TAG;
	static const std::string _PARTICLE_SUN_TAG;
	static const std::string _PARTICLE_GALAXY_TAG;
	static const std::string _PARTICLE_FLOWER_TAG;
	static const std::string _PARTICLE_METEOR_TAG;
	static const std::string _PARTICLE_SPIRAL_TAG;
	static const std::string _PARTICLE_EXPLOSION_TAG;
	static const std::string _PARTICLE_SMOKE_TAG;
	static const std::string _PARTICLE_SNOW_TAG;
	static const std::string _PARTICLE_RAIN_TAG;

public:
	static ParticleObject* parse(TiXmlElement* element);
};

#endif /* PARTICLEREADER_H_ */
